match x:
    case [a] | [a]: ...
    case (x, y) | (x, y): ...
    case (x, (y | y)): ...
    case [a, _] | [a, _]: ...
    case [a] | [C(a)]: ...
